Smartphones, tablet computers, and similar personal computing devices are everywhere. These devices, with their connectivity, applications, and features have allowed users to further extend their presence into the virtual world. Thus, interaction with other people, via their devices, in far flung corners of the world has become exceedingly possible, and relatively simple. In addition to providing long-distance connection, these devices are also being used to enhance personal, or close-range, interactions. For example, the user base for Proximity-based Social Interaction (PSI) applications has seen rapid growth. PSI applications are aimed at networking in a limited, physical neighborhood.
PSI applications are still in their relative infancy, and current PSI frameworks lack a set of well-defined APIs and services that balance development overhead and control. Some platforms include proximity services, but they abstract away many low-level intricacies, often at the expense of application-specific tuning of certain parameters such as device presence advertisement frequency. Moreover, existing proximity services offer only unicast user datagram protocol (UDP) socket, complicating the realization of efficient group communication. At an opposite extreme, other platforms expose many functionalities and controls, but application developers are taxed with using them properly.